<?php
/*
 * Cree le 13-sept.-2006 21:13:34
 * par ludo
 */


### Chemins
// URL complète du dossier public ("http://domaine.com/paie/","http://localhost","/",...)
$PATH_HTTP       = "http://tickr.local/";
$PATH_HTTP       = "/";
// Chemin système relatif vers la racine du projet par rapport au document courant
$PATH_BASE       = "../";
// Chemin système du dossier public (www) où se trouve actuellement ce fichier
$PATH_WWW        = $PATH_BASE."www/";
// Chemin système des Librairies (où réside Zend nottament)
$PATH_LIBRARY    = $PATH_BASE."lib/";
// Chemin système des Fonctions internes
$PATH_REQUIRE    = $PATH_BASE."req/";
// Chemin système des Contrôleurs
$PATH_CONTROLLER = $PATH_BASE."app/controllers/";
// Chemin système des Vues
$PATH_VIEW       = $PATH_BASE."app/views/";
// Chemin système du fichier INI pour la connexion à la base de données
$FILE_INI        = $PATH_BASE."app/conf.ini";

### Constantes
// Clé de (dé)chiffrement propre à l'application
define( "_CRYPTKEY_", "voiciuneclequiseradesplusfiables" );

### Environnement
error_reporting(7);
date_default_timezone_set("Pacific/Noumea");

### Connexion MySQL
$config_params = array(
    'host'     => '127.0.0.1',
    'username' => 'utilisateur',
    'password' => 'motdepasse',
    'dbname'   => 'basepardefaut'
);











#
# AUCUNE EDITION NECESSAIRE CI-DESSOUS
#

// chemins et chargement du framework Zend
define("_LIBRARIES_",   $PATH_LIBRARY);
define("_CONTROLLERS_", $PATH_CONTROLLER);
define("_VIEWS_",       $PATH_VIEW);
set_include_path( get_include_path() . PATH_SEPARATOR . _LIBRARIES_ . PATH_SEPARATOR . $PATH_REQUIRE );
include("Zend.php");

// chargement automatique des classes sans declarations prealables
function __autoload($class) {
    // Ne charge que les classes ZEND...
    if (strpos(strtolower($class),"fpdf")===false)
    Zend::loadClass($class);
}

// mise en mémoire de l'url vers la racine du site (avec un "/" final)
$PATH_HTTP.=( substr($PATH_HTTP,-1,1)!="/" )?"/":"";
define("_HTTP_", $PATH_HTTP);

// chargement de la configuration specifique (pb avec update Zend 0.7)
//if ( !file_exists($FILE_INI) ) die("Erreur lors de l'installation : configurez le fichier \"".basename($FILE_INI)."\" avant de continuer.");
//$config = new Zend_Config(Zend_Config_Ini::load($FILE_INI, "general"));
//Zend::register("config", $config);
$config = Zend_Db::factory("PDO_MYSQL", $config_params);
Zend::register("config", $config);

// mise à disposition des fonctions "perso"
require("func.req.php");

// ouverture de la base de donnees
try {
    //$pxl = file_open(null);
    Zend::register("db", $pxl);
} catch (Exception $e) {
    echo "Capture de l'exception : ",  $e->getMessage(), "\n";
    die("L'application s'est termin&#233;e.");
}

// inscription au registre "param" des filtres GET ou POST au besoin
if (strtolower($_SERVER["REQUEST_METHOD"])=="post")
    Zend::register("param", new Zend_Filter_Input($_POST));
elseif (strtolower($_SERVER["REQUEST_METHOD"])=="get")
    Zend::register("param", new Zend_Filter_Input($_GET));

// inscription au registre de la Session
session_start();
//$debug = print_array($_SESSION);
//$dossier = isset($_SESSION["file"]) ? $_SESSION["file"]["db"] : false;
Zend::register("session", new Zend_Filter_Input($_SESSION));

// Internationalisation
//echo "<br />Current i18n:".setlocale(LC_ALL, 0)."\n\n";
// i18n support information here
$locale = getCookieVal("locale"); // on récupère la valeur du cookie par défaut
$param = Zend::registry("param");
$param_hl = $param->noTags("hl");
if (strlen($param_hl)==2) $locale = $param_hl; // la variable "hl=" passée en param GET écrase la valeur du cookie
switch( $locale ) {
  case "en":
    $locale_lng  = "en_IN";
    $locale_code = "en";
  break;
  default:
    $locale_lng  = "fr_FR";
    $locale_code = "fr";
}
define( "_LOCALE_", $locale_code );
//putenv("LANGUAGE=$locale_lng");
$newLocale=setlocale (LC_ALL,$locale_lng);
//echo "<br />After i18n:$newLocale\n\n";
//putenv("LANGUAGE=$locale_code");
// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, "./locale"); // your .mo (and .po) file should be at ./locale/"$language"/LC_MESSAGES/"$domain".{po,mo}  ("messages.mo" obtained by "$ msgfmt messages.po")
textdomain($domain);

// inscription au registre de la vue par defaut
$view = new Zend_View();
$view->setScriptPath(_VIEWS_);
Zend::register("view", $view);

// SECURITE
// On n'autorise que les connexions via un "client" Ajax
if ( @$_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest" ) {
    //die( "Demande AJAX non prise en charge!" );
}
/*
if ( !$session->getRaw('user') ) {
    //renvoi sur la page de login
    $token = new Zend_Controller_Dispatcher_Token('user', 'index');
    $dispatcher = new Zend_Controller_Dispatcher;
    $dispatcher->setControllerDirectory($PATH_CONTROLLER);
    $dispatcher->dispatch($token);
} else {
    //action par defaut
    //$controller = Zend_Controller_Front::getInstance();
    //$controller->setControllerDirectory($PATH_CONTROLLER);
    //$controller->dispatch();
    Zend_Controller_Front::run(_CONTROLLERS_);
}
*/

// execution des controleurs
Zend_Controller_Front::run(_CONTROLLERS_);

//if (isset($debug)) echo $debug;